home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Graphics Programming (2nd Edition)
/
Visual Basic Graphics Programming 2nd Edition.iso
/
Src
/
Ch1
/
RubrBox.frm
(
.txt
)
< prev
next >
Wrap
Visual Basic Form
|
1999-03-19
|
2KB
|
76 lines
VERSION 5.00
Begin VB.Form frmRubrBox
AutoRedraw = -1 'True
Caption = "RubrBox"
ClientHeight = 4140
ClientLeft = 1140
ClientTop = 1515
ClientWidth = 6690
LinkTopic = "Form1"
PaletteMode = 1 'UseZOrder
ScaleHeight = 4140
ScaleWidth = 6690
Attribute VB_Name = "frmRubrBox"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Rubberbanding As Boolean
Private OldMode As Integer
Private OldStyle As Integer
Private FirstX As Single
Private FirstY As Single
Private LastX As Single
Private LastY As Single
' Start rubberbanding.
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
' Let MouseMove know we are rubberbanding.
Rubberbanding = True
' Save values so we can restore them later.
OldMode = DrawMode
OldStyle = DrawStyle
DrawMode = vbInvert
DrawStyle = vbDot
' Save the starting coordinates.
FirstX = X
FirstY = Y
' Draw the initial rubberband box.
LastX = X
LastY = Y
Line (FirstX, FirstY)-(LastX, LastY), , B
End Sub
' Continue rubberbanding.
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' If we are not rubberbanding, do nothing.
If Not Rubberbanding Then Exit Sub
' Erase the previous rubberband box.
Line (FirstX, FirstY)-(LastX, LastY), , B
' Draw the new rubberband box.
LastX = X
LastY = Y
Line (FirstX, FirstY)-(LastX, LastY), , B
End Sub
' Stop rubberbanding.
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim oldfill As Integer
Dim oldcolor As Long
' If we are not rubberbanding, do nothing.
If Not Rubberbanding Then Exit Sub
' We are no longer rubberbanding.
Rubberbanding = False
' Erase the previous rubberband box.
Line (FirstX, FirstY)-(LastX, LastY), , B
' Restore the original DrawMode and DrawStyle.
DrawMode = OldMode
DrawStyle = OldStyle
' Fill the final box with a random color.
oldfill = FillStyle
oldcolor = FillColor
FillStyle = vbSolid
FillColor = QBColor(Int(Rnd * 16))
Line (FirstX, FirstY)-(LastX, LastY), , B
FillStyle = oldfill
FillColor = oldcolor
End Sub